home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2000 November / cd joystick no120 novembre 2000 cd 1.iso / data / demos / gunlok / data1.cab / Program_Executable_Files / scripts / technobox_multifrag.gsh < prev    next >
Text File  |  2000-08-22  |  4KB  |  159 lines

  1. // defines a box which has several stages of destructibility
  2. ////////////////////////////////////////////////////////////////////////////////////
  3.  
  4. // start wrapper - prevent multiple inclusions or recursive inclusions
  5.  
  6. //(this currently causes 'unrecognized preprocessor directive' warnings, until implemented)
  7. #ifndef INCLUDED_BOX_MULTIFRAG_GSH
  8. #define INCLUDED_BOX_MULTIFRAG_GSH
  9.  
  10. #include "defaults.gsh"
  11.  
  12. ////////////////////////////////////////////////////////////////////////////////////
  13.  
  14. // second lot of frag bits
  15.  
  16. hierarchy Hcy_Fragbox_Frag_2
  17. {
  18.     file    "objects\Technobox frag 2.rif"
  19.     name    "technobox frag 2"
  20.     hotspot none
  21. }
  22.  
  23. role Rol_Fragbox_Frag_B : Rol_PlacedObject
  24. {
  25.     shape        Hcy_Fragbox_Frag_2
  26.     identifier    "fragbox_frag_2"
  27.     hit test ignore yes
  28. }
  29.  
  30. // damaged box and first lot of frag bits
  31.  
  32. hierarchy Shp_Technobox_Damaged
  33. {
  34.        file "objects\Technobox half.rif"
  35.        name "Technobox half"
  36. }
  37.  
  38. frag data Frg_Fragbox_B    // this creates only frag bits
  39. {
  40.     role            Rol_Fragbox_Frag_B
  41.     scale            3
  42.     symmetric        no
  43. }
  44.  
  45. role Rol_Fragbox_B : Rol_PlacedObject
  46. {
  47.     shape            Shp_Technobox_Damaged
  48.     identifier        "technobox_damaged"
  49.     destructibility    Frg_Fragbox_B
  50.     armour            0
  51.     ai                blocker
  52. }
  53.  
  54. hierarchy Hcy_Fragbox_Frag_1
  55. {
  56.     file    "objects\Technobox frag 1.rif"
  57.     name    "technobox frag 1"
  58.     hotspot none
  59. }
  60.  
  61. role Rol_Fragbox_Frag_A : Rol_PlacedObject
  62. {
  63.     shape        Hcy_Fragbox_Frag_1
  64.     identifier    "fragbox_frag_1"
  65.     hit test ignore yes
  66. }
  67.  
  68. // the intact box
  69.  
  70. shape Shp_Technobox
  71. {
  72.        file "objects\Technobox.rif"
  73.        name "Technobox"
  74. }
  75.  
  76. frag data Frg_Technobox    // this creates Rol_Fragbox_B and frag bits
  77. {
  78.     role            Rol_Fragbox_Frag_A
  79.     replace role    Rol_Fragbox_B
  80.     replace         yes                    // get rid of the old box
  81.     scale            3
  82.     symmetric        no
  83. }
  84.  
  85. character Chr_technobox : Chr_Default
  86. {
  87.     strength        20    // initial strength points
  88.     turning speed   0    // this is in revolutions per second
  89.     walking speed   1    // this is in animation cycles per second
  90.     weapon          plasmatrix
  91.     aim             0    // how many degrees off target he can be at most
  92.     sight angle    0    // in degrees
  93.     sight range     6    // in metres
  94.     hearing range    0    // in metres
  95.     aggression    0    // from 0 to 1
  96.     radius        1    // used by the movement model
  97. }
  98.  
  99. role Rol_Technobox : Rol_PlacedObject
  100. {
  101.     character     Chr_technobox
  102.     shape            Shp_Technobox
  103.     identifier        "technobox"
  104.     destructibility    Frg_Technobox
  105.     armour            0
  106.     ai                blocker
  107. }
  108.  
  109. character Chr_technoboxhard : Chr_Default
  110. {
  111.     strength        100    // initial strength points
  112.     turning speed   0    // this is in revolutions per second
  113.     walking speed   0    // this is in animation cycles per second
  114.     weapon          plasmatrix
  115.     aim             0    // how many degrees off target he can be at most
  116.     sight angle    0    // in degrees
  117.     sight range     0    // in metres
  118.     hearing range    0    // in metres
  119.     aggression    0    // from 0 to 1
  120.     radius        1    // used by the movement model
  121. }
  122.  
  123. character Chr_Technoboxshield : Chr_Default
  124. {
  125.     strength        100    // initial strength points
  126.     turning speed   0    // this is in revolutions per second
  127.     walking speed   0    // this is in animation cycles per second
  128.     weapon          plasmatrix
  129.     aim             0    // how many degrees off target he can be at most
  130.     sight angle    0    // in degrees
  131.     sight range     0    // in metres
  132.     hearing range    0    // in metres
  133.     aggression    0    // from 0 to 1
  134.     radius        1    // used by the movement model
  135. }
  136.  
  137. role Rol_Technoboxshield : Rol_PlacedObject
  138. {
  139.     character     Chr_Technoboxshield
  140.     shape            Shp_Technobox
  141.     identifier        "technoboxshield"
  142.     destructibility    Frg_Technobox
  143.     armour            100
  144.     ai                blocker
  145. }
  146.  
  147. role Rol_Technoboxhard : Rol_PlacedObject
  148. {
  149.     character     Chr_technoboxhard
  150.     shape            Shp_Technobox
  151.     identifier        "technoboxhard"
  152.     destructibility    Frg_Technobox
  153.     armour            3
  154.     ai                blocker
  155. }
  156. ////////////////////////////////////////////////////////////////////////////////////
  157.  
  158. // end wrapper - for preventing multiple or recursive inclusions
  159. #endif // !INCLUDED_BOX_MULTIFRAG_GSH